<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <script>
    function log() {
      let name = "梨花";
      var age = "香";
      console.log(name, age);
    }
    function log1() {
      console.log(name, age);
    }
    log1();

    // var x = 20;
    // function fn1() {
    //   console.log(x); //40
    // }
    // x = 30;
    // function fn2() {
    //   var x = 1;
    //   fn1();
    // }
    // x = 40;
    // fn2();

    var x = 10;
    function fn() {
      x = 20;
      console.log(x); //20
      var x = 30;
    }
    x = 30;
    fn();
    console.log(x); // 30

    // 函数的作用域链在函数定义时就已经确定，
    // 而不是在函数调用时动态改变的。这意味着
    //  fn1 的作用域链不会包含 fn2 的局部作用域
    // ，即使 fn1 是在 fn2 中调用的。
  </script>
</body>

</html>